package com.xiaolin.designmode.factory.method;

import com.xiaolin.designmode.factory.bean.Phone;

/**
 * @ClassName MethodFactory
 * @Description 工厂方法模式
 * @Detail 步骤：
 *              1、创建一个产品类型接口（或抽象类）
 *              2、创建具体产品类去实现产品接口
 *              3、创建一个工厂类接口（或抽象类）
 *              4、创建若干个具体工厂类去实现工厂类接口
 *              5、测试
 *          总结：
 *              1、客户端与具体工厂类直接关联，如果需要扩展类型，只需要扩展具体工厂类即可
 *              2、角色：
 *                 1、一个产品接口或抽象类
 *                 2、若干个具体产品类
 *                 3、一个工厂接口或抽象类
 *                 4、若干个生产具体产品的工厂类，需要实现工厂接口
 *                 5、一个客户端
 *              3、适用场景
 *                  1、两层分类(一层是工厂类别、一层是工厂生产的产品，每种工厂生产同一类型的不同产品)，工厂方法模式中考虑的是一类产品的生产，如畜牧场只养动物、电视机厂只生产电视机
 *
 * @Author MyPC
 * @Date 2020/7/18
 * @Version 1.0
 */
public interface MethodFactory {
    Phone makePhone();
}
